﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {//第二题：

//        编写一个程序，用以接收用户输入的两个浮点型的数值，一个值表示用户想要存放在银行账户中的余额，另一个值表示用户想要从银行账户中提取的金额。
//实现存取款功能，
//用户功能选择：1、存款，2、取款
//取款时：
//当用户想要提取的金额大于余额时，请手动抛出一个ArgumentOutOfRangeException 参数超出范围的异常，异常信息可以写“取款金额大于余额，请重新输入”
//，如此以确保取款金额始终不大于当前余额。
//操作结束，打印输出余额是多少。
//最后再添加catch一般异常 Exception，使得数据类型转换的异常也能被捕获到。
        static void Main(string[] args)
        {

            double sum = 0;
            while (true)
            {
                Console.WriteLine("欢迎来到银行，请选择你要的功能：1，存款  2，取款");
                int num = int.Parse(Console.ReadLine());
                //int money1 = int.Parse(Console.ReadLine());//存款金额
                //int money2 = int.Parse(Console.ReadLine());//取款金额
                switch (num)
                {
                    case 1:
                        Console.WriteLine("进入存款功能！");
                        Console.WriteLine();
                        
                            Console.WriteLine("请输入你的存款金额。");
                            int money1 = int.Parse(Console.ReadLine());
                            sum += money1;
                            Console.WriteLine("存款成功，余额为："+sum);

                        break;
                    case 2:
                        Console.WriteLine("进入取款功能！");
                        Console.WriteLine();
                        try
                        {
                            Console.WriteLine("请输入你要取款的金额。");
                            int money2 = int.Parse(Console.ReadLine());
                            if (money2 > sum)
                                {
                                    throw new ArgumentOutOfRangeException();

                                }
                                else
                                {
                                    sum -= money2;
                                    Console.WriteLine("取款成功！余额为" + sum);
                                }
                        }
                        catch (ArgumentOutOfRangeException)
                        {
                            Console.WriteLine("取款金额大于余额，请重新输入");

                        }
                        catch (Exception)
                        {
                            Console.WriteLine("异常已处理！");
                        }
                        finally
                        {
                            Console.WriteLine("取款功能结束！");
                        }
                        break;
                }
            }


            Console.ReadKey();
        }
    }
}
